Scaling machine media for thermal effects to improve machine accuracy

ABSTRACT

Large machines, especially those having working envelopes in excess of fifteen feet, exhibit unacceptable errors because of thermal expansion and mechanical misalignments between the axes. The present invention uses an interferometric laser tracker or a comparable 3D position sensor to measure the position of a retroreflector attached to the end effector, e.g. a machine head when the machine comes to rest. A computer compares the measured position to the desired position according to the machine media, and adds the appropriate correction with trickle feed media statements to move the machine to the correct position prior to further machining. The present invention scales the media statements for thermal effects in the factory.

REFERENCE TO RELATED APPLICATION

The present application claims the benefit of U.S. ProvisionalApplication 60/019,196, filed Jun. 6, 1996.

The present application is related to U.S. patent application Ser. No.08/867,857, filed Jun. 3, 1997, entitled "Method for Improving theAccuracy of Machines," which we incorporate by reference.

TECHNICAL FIELD

The present invention relates to modifying (scaling) machine media forthermal effects to augment the accuracy of a machine. The invention isespecially useful in the accurate machining, inspecting, or both of apart based upon a digital definition of the part. A preferred method,apparatus, and related software provide end point control of the machinetool to place holes and other features accurately on aerospacestructural detail parts.

BACKGROUND OF THE INVENTION

Machine tools exhibit dimensional positioning errors which are difficultto minimize. The primary contributors to these positioning errors are:(1) expansion and contraction of the machine structure and the workpiece(i.e., the part) because of thermal changes in the factory duringmachining, and (2) mechanical misalignments of and between individualaxes of the machine. The accuracy of the machine is often so uncertainthat post-machining inspection of the dimensions of the parts must bemade using an independent measuring method. Such inspection requiresspecial tools and skilled workers as well as significant factory space.It slows the production process. Failing inspection, parts must bereworked or scrapped. Post-production inspection, rework, and scrap arethe result of poor design or manufacturing processes. The method of thepresent invention addresses the root cause for errors and, thereby,reduces the need for post-production inspection and the costs of poorquality.

A. Machine Error Control

National standards and "best practices" exist for determining andcorrecting NC machine geometry errors. (See ANSI/ASME B89.1.12M-1985,ANSI B89.6.2-1973, AMSE B.54-1992) These "best practices" constitute thecurrently accepted methods for achieving machine accuracy. We willdiscuss the standards and "best practices" briefly.

1. Thermally Controlled Environment

The machine is held at a constant temperature, e.g., 68° F., in anair-conditioned factory. Errors arising from temperature variations arereduced, but this method does not solve the thermal error problementirely. Three main drawbacks are:

(i) The cost of controlling the environment is high and sometimesexceeds the cost of acquiring the machine.

(ii) Thermal effects induced by the machine itself (e.g. motor heat fromdriving under load, and spindle heating due to friction) still can causemachine distortion

(iii) Mechanical misalignment of axes remain uncorrected. Mechanicalalignments change over time as the machine experiences normal andabnormal wear. They are essentially unpredictable, unavoidable, anddifficult to control.

2. Machine Calibration

Three-axis machines have 21 error parameters in addition to the errorsintroduced with the machine spindle. The errors are linearity in eachaxis (3), straightness in each axis (6), squareness between each axispair (3), and pitch, yaw, and roll in and between each axis (9). Machinecalibration measures some or all of these 21 error parameters, thenmakes physical or software adjustments for parameters which are out oftolerance. Once each error is identified, quantified, and minimized, thecombination of errors are summed using the root mean squares algorithmto gain an estimate for the machine's overall working tolerance. Machinecalibration is inadequate for two reasons. First, the method requiresextensive machine downtime to measure and to adjust the errorparameters. The difficulty in the measurement and adjustment iscompounded by the fact that thermal variation causes dimensional changesfrom shift to shift and day to day. Second, because of constantreadjustment of the machine, the changes mean that the final set of datais not a single "snapshot" of the machine errors, but are a series ofsnapshots each of a different parameter, at a different time, as themachine changes. The root cause of inaccuracy is not fixed, but simplyis accommodated between readjustments. Production is a compromise anddrift occurs in the produced parts as the machine tool changes.

3. Linear Interferometry of Each Machine Axis

The X, Y, and Z axes of a machine are each equipped with a linearinterferometer as an accurate positional encoder. The method allowsreal-time compensation for thermal growth and shrinkage, but isinadequate for at least three reasons. First, it cannot be applied torotary axes. Second, it does not compensate for mechanical misalignmentsbetween axes. Third, it does not address the interaction between axes asthermal changes occur.

4. Volumetric Look-up Table

This method accurately measures performance of the machine in aspecified dimensional envelope. The accurate performance measurementsare made using an independent, highly accurate measurement machine todetermine the difference between the measured data and the commandedmachine position. The collection of all such errors constitutes or canbe used to generate an error map. A complete error map is used in twoways. First, the error map may be used as a look-up table to determine asimple position correction to the machine when in that vicinity. Second,polynomial equations can be calculated from the error map to interpolateerror corrections over the entire measured envelope. The machine commandfor a position is adjusted with the polynomial equations. Look-up tablesare inadequate primarily because the tables are valid for only onemachine temperature. At other temperatures, the machine will be largeror smaller or have a slightly different geometry. There is no guaranteethat a machine will behave isometrically and return to its originalgeometry as temperature changes occur. So, after a laborious datacollection exercise leading to an empirical table or set of equations toadjust the position of the machine based upon its history ofperformance, the root cause(s) for inaccuracy will still continue todegrade the effectiveness of the error map. The error map is inherentlyinaccurate whenever the machine has changed. As the machine continues towear and age, variations from the measured offsets of the original errormap occur. As a result, errors in part construction may increase.Frequent recalibration is necessary to continue to have an accuratecorrect error map.

5. Combination of Methods

Certain combinations of these methods can be used to overcome weaknessesin the individual methods, but the net effect remains: (1) long downtimeof the machine to measure its true position; (2) expensive testing; and(3) only temporary, corrective results. The root cause for theinaccuracies still remains. For instance, a combination of a thermallycontrolled environment with machine calibration can result in anaccurate machine for a period of time, The cost of controlling theenvironment combined with the cost of machine downtime for checking andreadjusting the machine can be expensive.

6. Thermal Compensation

The axes of the machine are equipped with thermal probes. Thetemperature measured by each probe is used to calculate independent fromthe other axes the theoretical expansion of that machine axis. Theexpansion factors are used to compensate the feedback to the controller,thus eliminating the expansion and contraction of the machinepositioning capability. A newer but similar technique called "real timeerror correction" also uses thermal probes, but attempts to provide a 3D"error model" of the nonlinear thermal behavior of the machinestructure. The error map reflects interdependence between axes, such asbuckling or warping, caused by heating. Compensation is made with acomplicated algorithm that is accurate only for the tested/measuredenvelope of variation and, then, only as the machine remains repeatable.This error model is established by gathering actual 3D machine positionand corresponding temperature data over a range of temperatures, whichcan require significant machine downtime. It can also be difficult toplace the machine in the desired thermal status. While the purpose ofthis technique is to avoid the costs associated with thermal control,thermal control is required to produce the error model. Thermalcompensation follows the same concept as thermal control: modify themachine movement based on actual temperature measurements.

There are two main drawbacks to the thermal compensation method. First,thermal compensation requires periodic machine downtime to calibrate thesensors and the error model. Second, thermal compensation focusing onthe machine does not correct for the expansion of the part or toolingfixtures. If it were possible to eliminate all positioning errors of themachine and perfectly to adjust the machine for temperature, the partcould still be made out of tolerance because of the temperature effectson the part. Thermal compensation attempts to compensate for the partexpansion indirectly by compensating for the machine errors caused bytemperature changes. The correlation between the machine errors and thetotal error, however, is only a partial solution.

In U.S. Pat. No. 4,621,926, Merry, et al. describe an interferometersystem for controlling non-rectilinear movement of an object. The systemuses three, one-dimensional tracking laser interferometers rigidlymounted in a tracker head to track a single retroreflector mounted onthe machine tool end effector. The Merry system is difficult to retrofitto an existing control system for a machine, because its laser feedbackis designed to replace the conventional machine controller.

In the system of the present invention, the laser tracker operatesindependently from the machine controller to provide positional feedbackinformation to the controller in trickle-fed Media blocks. By "tricklefeed" we mean that motion control information is provided (downloaded)to the machine controller a little bit at a time (in single NC Mediablocks, for example) rather than as a complete program.! Our much largerworking envelope (ten times larger than Merry) uniquely makes our systemapplicable to the manufacture and assembly of large aerospace structure,like wings, and our system design allows implementation readily on alarge variety of existing machine controllers.

Merry determines the location of the retroreflector using trilateration.During set up and calibration, straight line at constant speed along oneindependent axis for the system to establish a frame of reference forthe end effector and to provide coordinate data to connect the laserinterferometric position measurements with the end effector motion. Eachinterferometer is a one-dimensional (single axis) measurement systemwhich generates a signal proportional to the distance of theretroreflector from the interferometer. With three output signals, theMerry control system uses trilateration to calculate the location of theend effector, compares this location with the desired location basedupon a stored, predetermined path for motion of the end effector (i.e.,the NC program), and actuates the tools motive assembly to move the endeffector to the next desired location. Laser trilateration has not beenadopted in industry because of its cost, instability, setup geometryrequirements, and natural inaccuracy. Trilateration works best if thethree interferometers are widely spaced, but the retroreflector isessentially a one-axis target. To track the target, the interferometersmust be close together which introduces significant interpolation orcalculation errors. Futhermore, trilateration actually requires fourinterferometers to determine absolute, true position.

Merry's system replaces the standard machine controller with laserinterferometric position measurement actually and directly to control ofthe tool. By overriding the machine controller, control of the machinemight be lost, for example, if chips obscure the laser beam. For highvalue parts, the risk of loss of control is unacceptable. The Merrysystem, accordingly, has not been implemented for practical use inindustry because of the problems it poses.

In a preferred embodiment of the present invention, static opticalmachine control (SOMaC) is able to adjust the machine media toaccommodate translations, rotations, or both of the machine, part, orboth. SOMaC does so by measuring the position of the part and themachine and scaling for changes from the original reference location andorientation of the part and machine. SOMaC also can adjust (scale) themachine media to accommodate changes in the part, machine, or botharising from changes in factory temperature, temperature of the part,temperature of the machine, and other physical changes in the factoryenvironment.

The SOMaC system of the present invention provides fail-safe machinecontrol because it continues to use the machine tool's conventionalencoders, but augments the true position accuracy in static operation byproviding "on-the-fly" inspection feedback through optical measurementof the true position. Our system corrects for the machine positioningerrors with trickle feed instructions when the machine is at rest andready for its next machining operation.

The Merry system cannot determine the location of the workpiece inrelationship to the machine using the three interferometers alone. SOMaCis able to locate the machine relative to the workpiece using the singleinterferometer. Knowing this reference, SOMaC can provide deltacorrection commands to the machine controller after measuring the trueposition of the machine's end effector to enhance the machine'saccuracy.

B. Laser Trackers

Real-time 3D optical measurement systems (e.g. laser trackers) arestate-of-the-art measurement systems that obtain large quantities ofaccurate 3D data quickly. These optical measurement systems typicallyinclude an absolute ranging capability and a motorized angle steeringhead to steer the laser beam. The steering is controlled by a feedbacksystem that continually drives the laser beam to follow ("track") theretroreflector. The laser beam is directed from the laser tracker headinto a retroreflective target which is mounted on the machine endeffector. The return beam allows the tracking head to determine both thedistance and the direction (i.e., the horizontal and vertical angles) tothe retroreflector. These three measurements (range, horizontal angle,vertical angle) establish a spherical coordinate system which can easilybe transformed into the Cartesian coordinate system.

Laser tracking systems have the following characteristics:

(1) Accurate 3D measurement of about 10 part per million (ppm)volumetric accuracy (0.1 mm in a 10 meter volume);

(2) Real-time measurement collection and transmission;

(3) Data rates, in excess of 500 3D measurements per second (andtypically as high as 1000 measurements per second);

(4) Simple calibration;

(5) Virtually immune to errors caused by changes in air temperature andpressure when using a high quality compensator (refractometer); and

(6) Large measurement volume using a retroreflective target, typically apartial sphere up to 100 feet in diameter.

Absolute ranging tracking interferometers can reaquire a target that hasbeen temporarily blocked. Absolute ranging tracking interferometers arehighly desirable in manufacturing operations, because movement of themachines, parts, and operators in the factory can lead to beam breaks.We prefer to use absolute ranging tracking interferometers, but many ofour applications can also use the interferometer systems that are lesstolerant of beam breaks.

Laser trackers have been used in many applications such as measuring thedigital contour of aircraft or automobiles, tooling inspections, and NCmachine accuracy testing. The present invention currently uses lasertrackers, but other optical or non-contact measurement systems can besubstituted for these systems to provide the positional feedback for thesystem.

In the aerospace industry, gantry or post-mill drilling machines rangein size up to 70 meters long. The largest of these machines have workingvolumes in excess of 700 cubic meters. The positioning tolerancerequirements for these machines are typically less than 0.20 mm.Attaining 0.50 mm positioning uncertainty within a 100 cubic metervolume is difficult. To standardize the uncertainty statement for NCmachines, it is common to state the uncertainty of the machine in partsper million. The uncertainty multiplied by one million then divided bythe longest diagonal distance in the machine volume is the capability interms of parts per million (ppm). For example, a typical machine with a0.5 mm positioning capability and 15 meter diagonal length would yield acapability of 33 ppm. Large volume drilling machine capability below 30ppm is difficult to achieve. As manufacturers strive to improve partquality and reduce assembly costs, the demand for more accurate holedrilling has increased. In aerospace manufacturing, these tightertolerances can be as small as 0.10 mm over a 15 meter diagonal, whichyields a standardized requirement of 6.7 ppm. Such tolerances exceed thecapability of most machines.

SUMMARY OF THE INVENTION

The present invention is a method for improving the accuracy ofmachines, comprising the steps of: (a) driving a machine tool having anend effector to a first commanded location based upon commands generatedfrom a digital definition of the part or assembly on which the machinetool works; (b) precisely measuring the position of the end effectorwhen the machine tool stops at the first commanded location; (c)comparing the measured position with the first commanded location; (d)sending delta correction commands to the machine tool to adjust theposition of the end effector if the difference between the measuredposition and commanded position exceeds a predetermined threshold; and(e) scaling for thermal effects the commanded position as derived fromthe digital definition with a thermal effect scale based upon deviationof the actual temperature of the workspace, part, or machine from thetheoretical design criteria sufficient to impact the dimensions of thepart or the spatial relationship between the machine tool and part andadjusting the delta correction command in response to the thermal effectscale.

The present invention also relates to a method for accepting a productby measuring its features in inspection tooling, comprising the stepsof: (a) positioning a measurement probe in a spindle of a machine; (b)measuring selected inspection features on the product as a set ofinspection measurements with the probe in accordance with an inspectionsequence derived from the intended configuration of the product asspecified in a digital definition of the product; and (c) scaling theintended configuration of the product as specified in the digitaldefinition to adjust the relative size and position of features inaccordance with measurement of changes in the actual configuration ofthe product in the inspection tooling caused by thermal changes in thefactory. Generally, such acceptance is done before removing the productfrom manufacturing tooling and manufacturing machines associated withmaking the product. Our product acceptance method, however, allows amanufacturer to use a machine tool for product inspection rather thanneeding a precision Coordinate Measuring Machine. Such "inspection"makes the machine tools more versatile and reduces the overall capitalexpenses for tooling. Therefore, the present invention also relates to amachine tool system having improved positioning accuracy, including: (a)a machine tool, including an end effector, adapted for performing amachining operation of a part; (b) a machine controller coupled with themachine tool for commanding movement of the machine tool to a commandedposition through position control media derived from an engineeringdrawing or a digital dataset representation (i.e., digital definition)of the part; (c) at least one laser tracker positioned for measuring thetrue position of the end effector; (d) a computing system for comparingthe measured position of the end effector with the commanded positionand for providing trickle feed adjustment signals to the machinecontroller to offset any difference between the commanded position andthe measured position; and (e) means for adjusting the commandedposition derived from the digital dataset representation of the part fortime varying factory temperature conditions that impact size ororientation of the part.

Finally, the present invention also relates to a method for modifyingthe spatial specification of a machine media representing a partconfiguration to compensate for a temperature difference between thedesign temperature and the actual temperature of a manufacturingworkcell, comprising the steps of: (a) creating a computer-readabledataset representation of an intended configuration of a part at areference temperature; (b) measuring the part in the manufacturingworkcell in sufficient locations to identify the relative change in sizeor orientation of the part attributable to the thermal effects in thefactory and (c) adjusting the dataset representation by the ratio of theremeasurement/reference measurement.

These and other features of the present invention will be betterunderstood upon consideration of the accompanying drawings and thedetailed description of the invention.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic isometric view of the SOMaC concept with two,freestanding laser trackers positioned at extremes of a post mill'sworking envelope to improve the accuracy of a drill mounted on anotherwise conventional post mill.

FIG. 2 is a block diagram of the SOMaC machine correction process.

FIG. 3 is a block diagram of the SOMaC computing architecture hardware.

FIG. 4 is a block diagram illustrating the SOMaC interface running on anIBM RS6000 controller so that the conventional machine tool can achievetrue position accuracy to produce parts with the accuracy intended inthe digital part design (i.e., 3D solid model).

FIG. 5 is a schematic illustrating machine movement in response to theadjustment in machine position that SOMaC provides through an errorcorrection vector to place a hole more accurately at a nominal holelocation after the machine has positioned itself to a commandedlocation.

FIG. 6 illustrates the process for establishing a spatial referencebetween a machine and a part.

FIG. 7 illustrates the transformation process for adjusting the machinemedia to account for movements of the machine, part, or both afterestablishing the spatial reference of FIG. 6.

FIG. 8 illustrates a machine tool adapted for real-time orientationusing absolute ranging laser interferometers and SOMaC to control thedrilling and tooling ball references on a part jig.

FIG. 9 is a typical histogram plot for hole placement on a part.

FIG. 10 illustrates a machine using multiple of trackers in separatecontrol zones for controlling accuracy of a gantry mill over a largework envelope.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

After providing a general overview of SOMaC, we will describe the SOMaChardware architecture. Then, we will describe the computing softwarearchitecture. Throughout this description, we will discuss animplementation of SOMaC for an NC machine, but the principles areapplicable to robots, automated tools, machines, fixtures, and otherobjects that move under automatic or manual control.

Static optical machine control (SOMaC) seeks to overcome the thermal andmechanical error sources inherent to large machines by using an absoluteranging laser tracking system or its equivalent to measure the positionand orientation of the machine end effector when the machine isstationary. These measurements are reported automatically through theSOMaC computer through trickle feed instructions for position adjustmentto the machine controller. The machine controller then corrects themachine position as required. SOMaC uses an iterative technique tocontrol the accuracy of the NC machine end effector. A standarddeviation control protocol eliminates the effect of "noise" at the restposition. The protocol discriminates the rest position from machinemotion or vibration. We incorporate alarms for tilt of the machine,part, or tracker (using dual axis tilt sensors) and for temperaturevariation in the factory.

SOMaC uses "touch probe" or coordinate measurement machine software tolocate critical features associated with the part during systemcalibration. These measurements establish a part frame of reference.During machining, SOMaC controls further operations based uponremeasurement and assessment of the location of these critical features.Because we establish a part frame of reference to which the machineadjusts, we eliminate the need for accurate part fixturing to establisha true position reference. The actual location of the part (and itsfeatures) is established by measuring the location of the features andcomparing the measured location with the location established in adigital definition or digital dataset representation (CAD model) of thepart. The comparison is used not only to calculate the actual partposition, but also to calculate a "scale factor" for adjusting machinecommands to compensate for differences between the actual part and thedigital dataset representation. This "autoscale" feature, in effect,alters the NC Media derived from the engineering specification of thepart to accommodate physical changes to the part that occur duringmachining, such as changes in the size of the part arising from changesin the factory temperature for the design standard 20° C. (68° F.). Forexample, we adjust the design dataset definition of the position forpart features to reflect the effect of expansion or contraction of thepart because of its natural coefficient of thermal expansion. For"autoscale," we determine in parallel whether the scale factor that wecalculate is consistent with the changes in size we would expect fromchanges in the factory temperature. We monitor the factory temperature(but could also monitor the part or machine temperatures or all three)and rescale at appropriate intervals (e.g., a change of 2° or 5° at auser defined alarm set point) when the temperature changes. "Autoscale"is a batch or interval adjustment rather than a continuous rescaling,which reduces the processing required.

SOMaC preferably involves accurately positioning the end position of theend effector of a static machine with an independent 3D opticalmeasurement device. It is applicable to any machine in which thepositioning accuracy of the measurement device is better than themachine accuracy, which is usually true for laser trackers and largemachines that have at least one axis greater than fifteen feet. Bycontrolling the position of the end effector through the machinecontroller indirectly with the optical system, the thermal errors andmisalignment errors in the framework of the machine are renderedinnocuous because true position of the end effector is monitored andadjusted without regard to these sources of error. With the SOMaC systemusing "best machining" practices, we obtain a maximum linear trueposition error of about 0.003 inch (i.e., 0.0015 inch radialmisplacement) in a ten foot volume with a much tighter distribution forthe offset error than is achievable simply with the machine tool'sstandard controller. We direct the end effector to the desired locationspecified in the digital dataset that defines the part or assembly usingthe machine tool's controller. Then, we verify that the end effector isactually in the correct location using a laser tracker or other positionsensor. If out of position, we adjust the position of the end effectorby sending a delta adjustment to the machine controller.

While some sources of error may be nonlinear to cause SOMaC to loseaccuracy, we use least squares fit algorithms (or other appropriateregression analysis) to minimize these nonlinearities. Our first order(linear) correction is fairly robust and achieves a significantimprovement in accuracy. SOMaC can accommodate more sophisticatedalgorithms as nonlinearities and anisotropies are understood.

SOMaC uses feedback from an independent optical measurement device andassociated software to trickle feed position corrections to an existingmachine encoder to improve machine accuracy. The system is fast,inexpensive, and reliable to provide position accuracy that isindependent from the repeatability of the machine or the relationship ofthe machine to the workpiece. The system provides absolute spatialorientation/position information. Our preferred system includes thefollowing features:

A. SOMaC controls the machine position at the end effector, thuseliminating major contributors to overall machine inaccuracy.

B. SOMaC can be used on a probe-capable machine to transfigure themachine into an accurate Coordinate Measuring Machine (CMM).

C. SOMaC transforms tracker measurements into the part's coordinatesystem, which reduces the complexity of the part-machine alignmentcalibration process.

D. SOMaC provides a Graphical User Interface (GUI) which allows the userto control various aspects of the machining operations. The software isa "real-time, event driven" system that interprets text files for theconfiguration and programming information.

E. SOMaC provides a graphical user interface displaying:

(i.) the positioning accuracy desired;

(ii.) statistical parameters relating to tracker measurement accuracy;

(iii.) timing and position thresholds;

(iv.) operational modes;

(v.) offset and tracker/machine alignment;

(vi.) NC feed control;

(vii.) tracker position display and sample rates;

(viii.) a temperature monitor and tilt monitor alarm set points,

(ix.) on-line help.

F. By the nature of its software architecture, SOMaC is easily adaptedto new machine controllers. An encoder interface software module is theonly change needed to adapt the system to a new encoder/machinecontroller.

G. Portability. The trackers and workstation are physically portableand, therefore, a single system can be used to service many differentmachines.

H. Beam break recovery. SOMaC has two modes of recovery if a laser beamis interrupted.

(i.) Manual Recovery: the system halts and allows the operator to returnthe retroreflector manually to the tracker, regain beam-lock, and thencontinue.

(ii.) Automatic Recovery: the system returns the machine to a knownlocation, commands the tracker to establish beam-lock, and thencontinues with the NC program.

I. SOMaC's architecture is easily adapted to new optical measurementsystems, multiple measurement systems, or hybrid measurement systems.

J. SOMaC uses "trickle-feed" communication with a controller tointegrate an NC machine with both the laser and the external softwarecontroller to create an easily packaged system that is capable ofimproving the accuracy of a machine. This method makes SOMaC applicableto a wide number of controllers with minimal integration effort.

K. SOMaC produces an audit trail of machining events. That is, SOMaCrecords the correction instructions it provides to the machinecontroller during the sequence of operations. With this data, it iseasier to detect progressive machine drift or wear degradation or evento identify errors in the digital representation of the part.

L. SOMaC integrates the laser tracker with the machine in a computerremote from the machine controller so the system can be retrofit to manydifferent NC controllers without software modifications to thecontroller.

Improving the accuracy of a machine, automated tool, or robot so thatparts are manufactured closer to the engineering specifications involvesaugmenting the machine control with an independent, higher accuracyposition measurement system to correct for machine and factory-inducederrors. SOMaC provides delta correction commands in the machine media tothe machine controller to move the machine's end effector closer to theintended machining location. The independent measuring system identifiesthe true position of the end effector when the machine stops prior tomachining. SOMaC then, adjusts for misplacement of the machine becauseSOMaC knows the relationship of the part or workpiece to the machine(i.e., the orientation) and measures both in a common frame ofreference. To accomplish its augmentation function, which improves theC_(p) of the machining process and lessens the rate of machine drift,SOMaC must have machine media derived from a digital definition of thepart, must calibrate the machine and part to know their relativepositions, must calibrate machine-mounted retroflectors (targets) to theprecise position of a tool tip, and then, must execute augmented machinemedia to accomplish the machining operation while adding the deltacorrection commands.

Preparing the machine media involves deriving commands for moving themachine in a sequence of machining operations to produce the part thatis specified in its physical characteristics in a digital definition(CAD model) of the part. The derived path and points are called "machinemedia," a set of software instructions that the machine controller caninterpret. Machine media for product acceptance also must be derivedfrom the engineering specification of the part. For product acceptance,an inspection probe will identify and measure critical features of thepart to assure that the part does in fact correspond with theengineering specification.

Establishing the orientation of the part and machine, what we also call"calibration of the system" is described in greater detail at the end ofthis detailed description. Calibration sets the frame of referencebetween the independent, high accuracy measurement system, usually alaser tracker, and the machine and part. To calibrate, the tracker mustmeasure at least three predetermined positions within the working volumeof the machine.

Calibrating the retroreflectors generally involves touch probemeasurement of critical features of the part with the machine while thetracker is also measuring the system. In effect, the coordinates are"synchronized" during this step as the machine and tracker agree thatthe location of each critical feature is at the coordinates that themachine media specifies. During this step, SOMaC also determines theinitial reference scale which it will use with autoscale or real timeorientation to adjust the machine media for changes in the part,machine, or both arising from factory conditions during manufacture ofthe part.

When the machine executes the machine media at each stoppage of themachine (or at other operator-defined intervals), SOMaC measures thetrue position of the end effector and computes the delta correctioncommands necessary to improve accuracy, including scaling adjustments.

SOMaC improves machine accuracy, especially of large NC machines. Byimproving accuracy, SOMaC produces parts that exhibit less variation.The parts are closer to the engineering specification and the naturaldrift in the accuracy that arises from machine wear or accumulation oferrors is reduced significantly. Parts having smaller variation areeasier to assemble. They assemble into structures that are closer to theengineering specification. SOMaC has the potential to eliminate the needfor machine accuracy certification and post-process inspection. Itdramatically reduces a manufacturer's tooling costs by allowing themanufacturer to upgrade its machines to increase their inherent accuracyand by making the manufacturer's machines more versatile. In one aspect,SOMaC can be used for product acceptance (inspection) in place of aCoordinate Measuring Machine (CMM). It allows manufacturer's to minimizecapital, facility, and maintenance (lifecycle) costs which are criticalgoals at controlling product costs in today's world of lean and agilemanufacturing. SOMaC reduces part and assembly cost, reduces overallmanufacturing cycle time, improves the quality of parts and assembliesso that they correspond more closely with the engineering specification,and improves customer satisfaction because the improvement in productperformance, at least for aerospace products. The performanceimprovement comes with reduced unit cost.

I. SOMaC Hardware Architecture

Five hardware elements (FIG. 3) of the preferred SOMaC system are: (1)the machine, (2) the machine controller, (3) the independent measurementsystem (e.g., laser tracker), (4) the independent measurement systemcontroller, and (5) the workstation. Machines and their controllers areresponsible for many aspects of machine control including part programcontrol, operator interface, servo control, power distribution andcontrol, encoder signal conditioning, and communication with externaldevices. Many machine controllers exist, with only minimal industrystandardization. The diversity in controllers poses a significantproblem when attempting to integrate or to migrate a capability such asSOMaC to a large base of installed machines. Our method for overcomingthis problem will be addressed later in this description. The solutionis important to a practical implementation of the capability, becausemanufacturer's like Boeing benefit most by being able to use the systemwith the largest number of its existing machine tools.

Our preferred workstation is an IBM RS6000 running an AIX operatingsystem, but other systems with similar capabilities might also be used.The workstation provides the link between the laser tracker controllerand the controller. The workstation controls the part program, requestsmeasurements from the laser tracker(s), and provides delta correctioncommands to the machine to move its end effector (or inspection probe)closer to the intended (design) location. SOMaC removes program controlfrom the NC controller to the workstation. The workstation trickle feedsthe program commands of an error correction vector defining a deltacorrection command to the controller. The laser tracking systemcontroller is currently an IBM compatible PC running under the DOSoperating system, but any equivalent processor or operating system canbe substituted. Future implementation may combine the laser trackercontroller into the workstation.

FIG. 5 illustrates this improvement in machine accuracy. The machine 100carries a drill 110 to location #1 based upon machine media commandsderived from a digital definition of the part 120. In location #1, ifthe machine were to drill a hole in the part, the hole 130 would beoffset from the nominal hole location 140. With SOMaC, the tracker 150determines the position of the drill 110 using retroreflector targets160 on the machine 100 and tooling balls 170 on the part 120. SOMaCtrickle feeds commands for the error correction vector 180 to themachine 100 to move the drill 110 closer to the nominal hole location140 using a Threshold-Iteration feedback loop.

Communication between each of the hardware components is serial, usingRS-232 or Ethernet Serial communication is commonly used between machinecontrollers and other devices, and is particularly suitable for SOMaCbecause communication between the three computing systems need not bedeterministically timed or be at extremely high data rates. The singleserial link between the tracker system and the workstation isbidirectional, half-duplex. The serial link between the workstation andthe controller varies among machine controllers. Future implementationsmay include other communication schemes.

We define a Threshold variable as the allowable dimensional differencebetween the commanded machine position and the measured machineposition. We also define an Iteration variable to determine the maximumnumber of times that the "move-check-move" loop is allowed to occurbefore confirming a spatial location or signaling an alarm. The machinepre-positions the end effector at an initial position as commanded bythe media. The tracker measures the position and/or orientation of theend effector. The machine commanded position and the tracker measuredposition are compared, and a decision is made whether to move themachine based on the Threshold value. If the difference is greater thanthe preset Threshold value, then the machine must be repositioned. Afterthe machine is repositioned, the system must measure the machineposition again. This decision whether to remeasure is made based on theIteration value. For example, if the Iteration value is zero, thetrackers will never verify that the machine has been correctlyrepositioned. In practice, the Iteration value is not set to zero. If anIteration is required, the tracker remeasures the machineposition/orientation. The system compares the positions, sends deltacorrection commands and continues until either the Iteration counter isexceeded or until the comparison between the machine commanded positionand tracker measured position is smaller than the preset Threshold.

If the Iteration counter is exceeded before the Threshold is met, anerror message is presented to the operator, who makes a decision abouthow to continue. Selected values for Threshold and Iteration optimizethe efficiency of the operation. Important factors to consider whenselecting Threshold and Iteration are (1) the repeatability of themachine, (2) the repeatability of the tracking system, (3) theresolution of the machine, (4) the engineering tolerances to the item tobe drilled, and (5) the allowable correction time per hole.

In addition to Threshold and Iteration, the workstation software alsopreferably includes the following user-definable parameters:

(i) Maximum Incremental Compensation. This parameter is the maximumallowable machine correction for any single machine position. Ifexceeded, the system produces a warning.

(ii) Maximum Total Compensation. This parameter is the maximum totalmachine correction for a particular workpiece. if exceeded, the systemproduces a warning.

(iii) Standard Deviations. This parameter is the allowable variation inmulti-sampled machine measurements before the object measurements aredeemed reliable.

(iv) Maximum Allowable Temperature Change. If exceeded, the system willnot continue machining the workpiece, but re-orients itself to theworkpiece to determine if any expansion/contraction or part movement hasoccurred.

(v) Minimum/Maximum Temperature. If minimum or maximum specifiedtemperature limits are exceeded, the system will stop operations.

(vi) Maximum Change in Differential Inclination. The system incorporatesdifferential inclinometers any number of which can be placed in anyorientation on any component in the system (machine/part/tracker). Whenthe relationship between any two inclinometers changes by more than auser definable amount, the system automatically re-orients itself to thepart to compensate for any part/tracker/machine movement that occurred.

Generally these parameters are set based upon the worst case accuracyhistory of the machine and the necessity of producing a part or assemblyto the closest reasonable conformity (tolerance) to the engineeringspecification. Alarms should be triggered when continued operationthreatens to produce a nonconforming, unacceptable part so thatadjustments are made before rework or scrap results.

FIG. 1 illustrates a post mill 10 with a carriage length of up to about200 feet where two Leica SMART310e or equivalent laser interferometers20 are positioned at the extremes of the lateral motion. SOMaC isreadily adaptable, however, to other conventional machine toolsincluding overhead gantry multiaxis machines, Boeing's automated sparassembly tools (ASAT), GEMCOR riveters, Boeing's Multi Task GantryRiveting System (MTGRS), and the like. The SMART310 laser interferometerhas a range of about 100 feet, so the lateral distance of traveldictates when multiple trackers are required to cover the workingenvelope. SOMaC can accommodate multiple trackers simultaneously usingdata combination algorithms and protocols including chief/slave, voter,weighted bundle protocols for the several channels of position data, orit can switch between trackers in sequential working zones. FIG. 10shows one arrangement of multiple trackers. A gantry mill 50 moves overa part 60 in an area approximately 200 feet long by 50 feet wide. Fourtrackers 70 are positioned at selected locations around the work area toprovide full measurement coverage for the part 60 in coverage zones 80,82, 84, and 86, which overlap one with another in certain locations. Insome overlap volumes, two trackers will be providing measurement datawhile, in a few volumes 92, three trackers will be measuring. Theextreme ends of the work envelope, however, will fall into the coveragezone of a single tracker. For areas of overlap in the sequential trackersystem, we prefer to use the weighted bundle control protocol wherevermore than one tracker is in range and is providing measurement data tothe SOMaC processor. Measurement data from multiple trackers overdefinesthe system of equations for calculating the transformation. The extradata is redundant or improves accuracy. Weights reflect, in part, theconfidence attributable to the accuracy of that tracker's data and aredetermined by geometry and experience.

One tracking interferometer can provide 3-axis position measurement andcontrol. Multiple trackers operating in the same envelope are requiredto obtain 4-axis or 5-axis control. With multiple trackers we usecombining algorithms that maximize measurement confidence, therebyminimizing error. Newer trackers with absolute ranging capability allowus to control all axes of a machine with a single tracker.

The trackers generally include as a standard feature a refractometerforwavelength compensation for changes in the index of refraction of thefactory air. The ranging accuracy otherwise can be significantlyeffected by changes in temperature, pressure, or humidity in thefactory. For the improvements in accuracy that SOMaC seeks, such acorrection for the ranging is important to achieve the desired results.With index of refraction adjustment, laser trackers are capable ofexcellent measurement accuracy in large volumes in real time to partsper million. With this accuracy, the ranging measurements can providesufficiently accurate true position feedback to improve end pointposition control of a machine.

II. SOMaC Software Architecture

The SOMaC software has two, main parts: the workstation software and thetracker software. Autoscale and real-time orientation are components ofthe workstation software that we generally include.

A. Workstation Software

The primary purpose of the workstation software module called "SOMaC"(FIG. 4) is to provide a link between the tracker, the operator, and themachine. SOMaC has several logical pieces or processes eachcommunicating via an Inter-Process-Communication (IPC) technique. Theportions of the system which are machine specific have been isolatedinto separate processes for future "plug-and-play" capabilities, (e.g.,incorporating a new machine family).

SOMaC software is "plug-and-play" compatible with the Valisys family ofsoftware products (available from Technomatix Technology Corp.), thusenabling communication to a wide variety of NC mills and NC coordinatemeasuring machines (CMM's) via existing Valisys Machine Tool Interface(MTI) modules. SOMaC uses an interpretive C language or counterpart todrive its operation, although any suitable programming language could beused. The interpreted information is stored in human-readable textfiles. SOMaC provides the primary graphical user interface (GUI) for theSOMaC process and communicates with other MTIs, isolating itself frommachine specifics and increasing its general applicability.

The SOMaC MTI provides the primary human interface for the SOMaCprocess, and also communicates directly with other MTIs. While thismodule does not communicate directly with the tracking devices or the NCmachines; it communicates with the machine tool interfaces (MTIs) thatcommunicate with the tracking devices. The following functions arepreferably integrated into the SOMaC module:

1. USER INTERFACE

The user interface is Windows oriented, after the Motif user interfacestandard.

2. SYSTEM CONFIGURATION MANAGEMENT

The user may specify, store, and retrieve a system configuration.Elements of the system configuration include: the number and type oftracking devices to use; the accuracy Threshold, the Iteration limit;the combination of machine axes to control; display precision; and logfile format.

3. AXIS TRANSFORMATIONS

The tracking system coordinate reference frame is alignable with thereference frame of the machine using "three point fit" or "least squaresfit." Three point fit uses only three points in common to the trackerand the machine to calculate the transformation matrix from the trackerframe of reference to the machine frame of reference. Least squares fitperforms the transformation using more than three common points. Bothmethods, however, accomplish the goal of converting tracker measurementsinto coordinates that are meaningful in the machine coordinates. Oncethis transformation has been performed, SOMaC automatically provides fora human-readable, real-time display of actual (laser) machine positionthat can be read by the operator of the machine and directly compared tothe machine independent position display. This transformation is notrequired to be accurate because future measurements of critical featureson the part define the relationship between the tracker and the part.

4. ERROR RECOVERY

During a drilling or inspection process, the laser tracker system maylose sight of one or more target on the end effector of the machine andbe unable to re-establish contact. The tracking "lock" can be broken ifthe end effector's retroreflector (target) rotates beyond the usablerange, intervening structures block the tracker and retroreflector(target), or poor repair/maintenance obscures them. The SOMaC moduleprovides three error recovery techniques: manual, "look-ahead," and"look-back" from loss of the beam.

The manual method allows the operator to stop the process, and manuallyreturn the target to the tracker to re-establish contact. The operatorplaces the target at a known (home) location which the tracker measures.Then, the operator moves the target to the actual position while thetracker tracks the target. In this way, the tracker knows the actualposition with reference to the home position.

The "look-ahead" method causes the tracking device to point to theposition of the next required measurement, and wait for the target tocome into view. When in view, SOMaC can command the tracker to gather anaccurate measurement. The look-ahead method can only be used withtracking systems possessing absolute ranging capability. Trackingsystems with laser interferometers measure relative changes in range andmust therefore have a starting index location with known coordinates ofsufficient accuracy. Tracking systems with laser radar ranging systemsmeasure absolute ranges from the tracker to the target, and do notrequire an accurate index. Therefore these systems can be commanded to"look-ahead" to the next measurement location of the target.

The "look-back" method causes the machine to regress along its path tothe point of the most recent measurement before the error occurred. Thetracker is then commanded to return to those coordinates, and is able toresume tracking, assuming, then, that the range to the target is thesame as when it last was measured. The "look-back" method is susceptibleto dimensional errors if the machine repeatability is beyond acceptabletolerance limits, because it relies on the machine to establish the"true" position. Therefore, each use of the "look-back" methodintroduces an error in the absolute position corresponding to themachine repeatability spatial error. If the beam is lost any significantnumber if times, drift will occur with the "look-back" method.

5. NC PROGRAM CONTROL

The SOMaC module is in control of "trickle-feeding" blocks of motioncommands to the machine controller. The SOMaC module allows theoperator, the programmer, or a post processor to insert user definedkeywords in the motion program which indicate when a tracker inspectionof location (and machine adjustment, if appropriate) occurs.Alternatively, existing character strings can be used as keywords. SOMaCaccurately updates the machine position with laser tracker data onlywhen it encounters a keyword. The following example uses "Measure SOMaC"as the keyword:

    ______________________________________    . . .    N101X50.000Y100.000Z5.000A90.00C0.00    N102 (MSG, Measure SOMaC)    N103G1Z2.4    N104X51.000Y101.000Z5.020A90.00C0.00    N105 (MSG, Measure SOMaC)    N106G92X50.000Y100.000Z5.000    . . .    ______________________________________

Upon encountering the "Measure SOMaC" keyword, the SOMaC system willprompt the tracking interferometer (or other independent measurementsystem) to measure the current machine position. When the iterationprocess is complete for that measurement, the machine is accuratelyrepositioned so that the motion program commanded position and the truespatial position correspond. Then, the block following the keyword isexecuted. In our example, a hole is drilled (Z 5.000) on block N106. Themotion program is displayed to the operator on a monitor as the motioncommands are "trickle-fed" to the machine controller so that theoperator can confirm part program operation.

B. Tracker System Software

The tracker system software (BoTrack, FIG. 4) is a DOS applicationwritten in C which resides on the laser measurement system controller.This software receives commands from the tracker interface, takesmeasurements, and reports the measured coordinates back to the trackerinterface. In addition, this software communicates with a refractometerfor wavelength compensation of the laser, as previously described. Toupdate the index of refraction prior to each ranging measurement, thesoftware queries the refractometer for the current index of refraction.The software compares the current index of refraction with the lastindex of refraction. If the values differ by more than a preeterminedamount, such as 0.5 parts per million, the software changes the storedvalue of the index of refraction to the current value and uses thecurrent value to calculate the distance. In this way, the most accurateenvironmental conditions are always used when making a rangingmeasurement and range calculation in the tracker's processor.

This software isolates the SOMaC workstation software from anyparticular type of measurement hardware or software. This flexibilityenhances SOMaC's utility in the factory because SOMaC can be used withany hardware combination it encounters with minimum software developmenteffort.

The software operates in two modes: Automatic and Diagnostic. Theautomatic mode is used when SOMaC is operational. In the automatic mode,the software automatically responds to commands sent from the SOMaCmodule. In the diagnostic mode, the operator uses commands in the menustructure to perform various tasks.

C. Autoscale

Next, we will discuss automated spatial adjustment of the NC Media tocorrect for temperature effects in the manufacturing environment. Wegenerally refer to this feature as "Autoscale."

Numerically Controlled (NC) machine tools receive positioning commandsvia human-readable machine language, called NC Media or Machine ControlData. The NC Media is generated (either manually or with computerassistance) from an engineering drawing or a Computer Aided Design (CAD)model (i.e., a digital dataset) of the part. The engineering drawings orCAD model represents the desired configuration of the actual part. Realparts, however, usually change size as a function of the ambienttemperature. The materials have a coefficient of thermal expansion (CTE)that identifies how much they will expand or contract in response to achange in the temperature. Recognizing this problem, most engineeringdrawings and CAD models tie the designed dimensions to a specificreference temperature, internationally agreed upon as 20° C. (or 68°F.). The part material is never exactly at 20° C. at the time ofmachining. So a problem may exist in making the part actually reflectthe design intent as established in the engineering drawings or CADmodel. If a part is machined when it is hotter than 20° C. (even by onlya few degrees), the resulting part will probably be dimensionallydifferent than nominal when cooled to the 20° C. reference temperature.Depending on the material, tolerances, and temperature, the machinedpart may be in tolerance when machined, but out of tolerance whenequilibrated to the reference temperature. To make matters worse, eachmaterial has a different coefficient of thermal expansion (CTE), and anaircraft assembly can include a large number and wide range ofmaterials. Also, the milling machine changes shape as it expands orcontracts with changes in temperature.

The conventional approaches to correct for the change in dimensions andshape that arise from changes in temperature include controlling thetemperature of the factory or monitoring the factory temperature andapplying an empirical adjustment to the machine encoders in response tothe temperature measurement. As we will explain, even when combined,these solutions do not achieve precision machining.

The effects of temperature on precision manufacture of parts and theirsubsequent assembly can be quite expensive. Components made in differentfactories and at different temperatures may not assemble togetherproperly, causing rework, scrap, or schedule delays. The impact issevere especially for assemblies that rely upon accurate placement ofcoordination features (especially holes) for precise assembly intoproducts more accurately reflecting the engineering design rather thanthe shape of assembly tooling. U.S. Pat. No. 5,033,014 discusses thisdesign verses tooling problem in greater detail. Aerospace is a fieldwhere performance of the product is significantly impacted by even smallvariations or deviations in the "as-built" assembly from the intendeddesign. Therefore, there is a significant need to adjust machining toaccommodate factory and part temperature variations. The solution alsomust be iterative to allow scaling throughout the machining operationthat can continue for hours or days.

Inclination (tilt) of parts and machines is an important considerationbecause the changes in temperature which cause expansion and contractioncan lead to tilting of the machine, part, or tracker. We placeinclinometers on each of these to provide an alarm signal that thespatial relationship between them has changed. If a tilt alarm conditionarises, the operator must recalibrate the tracker to the part.

Autoscale is a thermal compensation technique applicable to industrialoptical inspection systems such as photogrammetry, theodolites, andlaser trackers. Autoscale measures the locations of actual partreferences or features, determines how much the part has actuallyexpanded (or contracted) from its design reference state, and, then,applies a size variation compensation factor (a scale) to subsequentpositional operations. The autoscale technique does not rely uponmeasurement of the part temperature, but rather relies upon the actualpart size. The autoscale factor is a ratio (expressed as a decimal) ofthe part's "actual" size over the reference size. The scale factor is a"best fit" of the actual part based upon its measured geometry comparedto its reference geometry. Actual workpieces exhibit nonlinear changesbased upon a number of factors. We check our scale factor againstindependent temperature measurements and part growth models to minimizedisparities and to detect unexpected behavior. We conduct the partposition calculations in conjunction with autoscale.

Autoscale functions in three dimensions by assessing the volume changeof the part based on movement of the part references or features. Whilethree tooling balls is sufficient for establishing a 3D coordinatesystem, we prefer to use a larger number of tooling balls to obtain afiner gradation of changes over the work envelope. We can use any threeballs to establish a reference plane and can divide the part into zonesor can verify bending, bulging, or twisting in the part with theintermediate balls. We implement autoscale using the same tooling ballsthat we place on parts or tools for conducting theodolite qualityinspection. Autoscale is tied to temperature variations with thesoftware we have designed. That is, we make measurements of the toolingballs based upon variations of a sufficiently large (threshold) changein the factory temperature. We might rescale every time the temperaturechanges by 2° F., for example. Real-time orientation is not tied to atemperature variation trigger for measurement and rescaling. Instead,with real-time orientation, the system is rescaling continually beforeeach machining operation by measuring the tooling balls.

For example, if the distance between two holes on a part is 100 inchesat the design reference temperature and the actual measured distance onthe warm part is measured to be 100.10 inches, the autoscale factorwould be 100.1/100.0=1.001000. If two additional holes need to bedrilled into the part at a distance of 200 inches apart, we apply theautoscale factor to the 200 inch desired value, and actually drill thetwo holes 200.2 inches apart. When the part returns to the referencetemperature, the two holes will be exactly 200 inches apart, as desired.

Autoscale or real-time orientation is useful when the part in questionmust be made over a relatively long period of time, and in variousstages, with the possibility of experiencing many different temperaturestates. In fact, the main effect of autoscale is that the part can beprocessed in a variety of thermal states, yet when done, conform best tothe engineering design dimensions.

Autoscale relies upon a pre-established set of coordinates for a seriesof features on the part of interest. This data, called a reference file,can be generated from any inspection system with sufficient accuracy forthe application. The coordinates in the reference file represent theposition of the features (usually in the part reference system)typically, at 20° C. The coordinates are determined by inspecting thepart while equilibrated at the design reference temperature, or byscaling inspection data. This reference file becomes a unique data setthat is associated with the part and can be used in the next steps ofthe autoscale process.

Autoscale:

(1) Creates a reference CAD file for the part (fly-away hardware, tools,gages, holding fixtures, etc.);

(2) Mounts the part to the machine bed;

(3) Measures the references (using a machine touch probe or anindependent inspection system);

(4) Calculates the scale factor;

(5) Applies the scale factor to the machine control media;

(6) Prepares the machine for machining at the adjusted coordinates; and

(7) Continues to machine the part at the reset scale until thetemperature has changed sufficiently to merit rescaling, or rescalescontinually (for the real-time orientation implementation).

Autoscale measures the factory ambient temperature or the parttemperature, or both. The increments for triggering a rescaling areselected at intervals where the temperature change will produceidentifiable changes in the machining accuracy, and generally is 2-5° F.(1-2.5° C.). Continuous scaling generally is not required. Selectingreasonable rescale increments reduces computer processing.

D. Real-Time Orientation

Temperature is only one factor to consider. Accurate placement offeatures on parts requires accurate machines. Large machines, especiallydrilling machines, are inherently inaccurate because of temperaturevariation, ground movement, machine positioning accuracy (straightness,squareness, linear positioning, etc.), or wear. The most frustratingproblems, of course, are the environmental conditions that are difficultto control and are unpredictable and difficult to reproduce, like groundmovement associated with ocean tides. The effects are often nonlinear orchaotic. They can alter the spatial relationship of the machine and thepart during a manufacturing run which produces inaccuracies.

Making the machines and tools massive so that they resist twisting andbending from natural, external forces is common and is expensive. Forthe most accurate machining, frequent calibration and re-calibration isrequired which increases cost. The time required to calibrate can belonger than the periodicity of the phenomenon (tides, temperature, etc.)which alters the part-machine spatial relationship. If the calibrationis slower than the period of the variation, the calibration adjustmentswill be difficult to make to an acceptable degree of certainty.

In our preferred embodiment, we implement real-time orientation (RTO)using absolute ranging trackers. These devices are able to measure thedistance accurately to an optical target, and can be pointed via rotarycontrols to collect data from a series of targets. The combination ofdistance and angle measurements are converted to a 3D spatial locationfor each target location. Large parts are accurately constructed byfirst creating reference locations or critical features within the partvolume. These critical features are "inspected" by operators to locatethe part accurately in correlation with the features and coupled withinthe machine's coordinate system. Often, the critical features are"tooling balls" or spheres mounted on pins which are accurately locatedon the part.

The real-time orientation process:

(1) Determines the relationship (nominal) between the tracker and themachine by running the machine along a predetermined path whilemonitoring position with the tracker;

(2) Creates a reference program that defines a series of 3-dimensionallocations for a set (minimum of 3) of optical targets mounted on a part;

(3) Between each drilling operation, measures the location of eachtarget with the tracker;

(4) Computes the mathematical transformation between the nominallocations and the current locations of the reference targets;

(5) Applies the transformation to the machine media; and

(6) Feeds the transformed media to the machine.

The measurements permit the machine to drill, in our case, in theintended location despite translations or rotations of the part, themachine, or both. FIGS. 6 & 7 illustrate the process. In FIG. 6, RTOestablishes the common reference between the machine and the part. Withboth the machine and part translated to an offset position, as shown inFIG. 7, the RTO measurements produce a transformation (i.e. an errorcorrection vector) for the machine media to still allow the machine todrill at the intended (nominal) location. That is, RTO allows accuratemachining despite movement of the machine, part, or both and despitegrowth or shrinkage of the machine, part, or both. RTO accommodates the"necessary evils" of actual manufacturing with a robust solution (atleast for machines with 5-axis capability).

Our technique relies upon a pre-established set of coordinates for aseries of optical targets on the part of interest. The software providesa method for defining, pre-measuring, and then orienting to the targets.When the targets change position as a result of mechanical, thermal, orother effects, a best fit location of the set of targets is tracked. NCmedia, which is being fed to the machine controller, is modifiedon-the-fly as the part is being drilled in correlation with the measuredposition and orientation changes in the part. Between drill operations,the position of the part is monitored. The next drill operation isshifted and scaled by a scale factor as appropriate to place that holein the correct location relative to the previous holes and theengineering design.

For real-time orientation, the actual position of the reference featuresis monitored continually or incrementally between each machiningoperation with absolute ranging laser rangers. The computer calculatesthe coordinate transformation that has occurred between the design(nominal) locations of the reference and the actual, measured locationsand applies the appropriate scaling factor to adjust the NC media.

The following simple example and FIGS. 6-8 illustrate the real-timeorientation process. At least three optical targets 800 are on the part810, and at least three are on the end effector 820 of the machine orrobot 830. They are spaced on the part to represent its physicalcharacteristics. Using many targets on the part can provide enhancedsensitivity or detail in areas of critical concern. The part's initiallocation is measured by determining the locations of its targets. Foreach drill location the tracker or trackers 840 measure the locations ofthe targets on the machine and on the part and SOMaC computes theappropriate scale factor and position adjustment. A delta correctioncommand adjusts the machine media to move the cutter to the actuallocation for its next operation. Changes in the machine-to-partrelationship are unimportant if the machine is a 5-axis (6 degree offreedom) machine tool. That is, the drill tip on a 5-axis drillingmachine or robot can be fully compensated for errors in translation androtation, if the changes are slow with respect to the machiningoperation (such as those associated with tide or temperature changes). Aminimum of three optical targets 800 on the machine 830 and on the part810 is required to track both the part and the machine in six degrees offreedom. Adjustments are made based upon the last measured position ofthe part and the machine or from the engineering design reference.

Measuring the location of the part and the machine for real-timeorientation takes up to about 10 seconds for the six optical rangingmeasurements, when we allow time in the measurement to cancel outthermal noise. How often the operator should take the rangingmeasurements depends upon the rigidity of the machine, the temperaturefluctuations and rate of change in the factory, the inclination of themachine with respect to the part, and the timespan between machiningoperations, among other factors. The system can easily accommodatetemperature, tilt, time, or other suitable alarms to force recalibration(ranging measurements) at prescribed intervals. Commands in the NC mediacan also trigger ranging measurements at predetermined points in themachining, as previously described, which is especially important forlocating coordination features accurately.

While described with reference to machining, the autoscale and real-timeorientation processes also have application to inspection. The SOMaCsystem can be used to machine the part accurately, but it also could beused to inspect the machined part. Inspection is probably as important afunction as controlling the machining because it reduces the costsassociated with purchasing and maintaining special inspection tooling,especially a coordinate measuring machine (CMM); transferring the partto the coordinate measuring machine; and establishing a known spatialrelationship between the part and the CMM to allow ultimate inspectionof the part. By inspecting the part on the machine, it is possible todiscover when the root cause for changes in the part configuration thatarise after removing the part from its tooling on the machine areactually the result of design errors or transportation accidents ratherthan inaccurate machining. For inspection, an inspection probe replacesthe cutter in the machine spindle. The machine moves the probe inaccordance with the intended digital definition through thepredetermined inspection routine. At each location where inspection of afeature will occur, the SOMaC software has the tracker apply theappropriate positional adjustments for machine inaccuracy and forenvironmental errors.

The techniques of the present invention compensate for real worldexternal events rather than trying to control or eliminate the naturaloccurrence of these events. They produce parts of unprecedentedprecision and accuracy faster than achievable even with the most highlyskilled craftsmen working in the most controlled environments. Theseprocesses allow simple, low-cost machines to produce accurate parts andpave the way for lean and agile manufacturing in the aerospace industry.Common machines can be used to make a wide range of parts toextraordinary accuracy and precision, thereby greatly reducing capitalcost and factory size.

III. Calibrating the System

Initially, the tracker and machine are "aligned" by running an alignmentmedia program. The program directs the machine through a representativevolume on a predetermined course while the tracker is "tracking" (i.e.,recording the motion). The relationship between the tracker's coordinatesystem and the machine's coordinate system is then computed to provide"rough" alignment. The relationship is "rough" because the position ofthe part relative to the machine is inexact. Also, the machine's motionincludes the inherent machine inaccuracies from the ideal.

A probe measures critical features on the part, usually by touch, using,for example, Valisys inspection software, as shown in FIG. 6. We computea transformation between the tracker's measured data and the referencesystem that is designed into the part in its digital definition astranslated in the NC Media. The transformation is based on themeasurement of the critical features with the touch probe (which iscorrected based on laser feedback from the rough alignment process). Thepart location, based on the critical feature information, is nowcompletely known in the tracker's reference frame. The softwarere-orients the NC Media to comply with the "as-positioned" location ofthe part. Realigning the part is not required. Of course, the actualpart location and the reference location from the design data must beclose enough to the desired location of the part for the inspectionprobe to assess the part in approximately the correct position. Theinspection probe must actually identify the intended feature. Thesoftware allows the operator to "teach" the system where the part is byusing a simple single point inspection operation (teach point).Everything then locks into place by refining the part location withcritical feature inspections. The tracker can also measure criticalfeature locations (reflective targets that are mounted on the part) thatallow operation completely independent of Valisys and independent of themachine's coordinate system. The tracker will measure the part locationdirectly, and then guide the machine to the right spot on the partlocation directly, and then guide the machine to the right spot on thepart based on the CAD design intent of the engineering specification.The position of the critical features must be expressed in the samereference frame as the NC media.

Additional details of the SOMaC system are provided in our article:"Optical End-Point Control for NC Machinery," SAE 97MP-12, Jun. 4, 1997,which we incorporate by reference.

FIG. 9 is a typical histogram illustrating the actual measured accuracyand precision (repeatability) of the hole placement that SOMaC controlcan provide. The graph plots the offset in the true position of the holefrom the intended location along the ordinate (X axis) and the count forthe number of holes being that accurate on the (Y axis) for 197 0.3275inch diameter holes drilled with a post mill under SOMaC control. Theposition of the holes was determined with Valisys inspection analysistools. Holes being offset by 0.0 to 0.001 inches were counted as 0.001offset. Those holes from 0.0011 to 0.002 inches were counted as 0.002inches offset, and so forth for the range. The true position is offsetfrom the intended design position by a mean error of only 0.004 inches(a radial positioning error of only 0.002 inches) with a standarddeviation of the position offset of 0.002 inches. These holes weredrilled using "best machining" practices. This distribution and theresults commonly attained with SOMaC is tightly arranged around the meanshowing a well-controlled process with high reliability, repeatability,and confidence. Parts made under SOMaC control have smaller part-to-partvariation than those made using traditional methods. Features,especially coordination holes, are located on the parts consistentlycloser to their intended (design) location. The control of variabilitygreatly simplifies assembly, and, in doing so, SOMaC achievessignificant cost savings.

SOMaC's application to the manufacture of wings and fuselage assembliesheralds industry's first use of an automated, laser-guided drillingmachine. The automated data feedback from the true position measurementof the laser trackers guided the drill closer to the intended trueposition of the design by commanding positional adjustments. Holes weredrilled to within 0.007 inch tolerance of the engineeringspecifications. Their location, size, and depth were accuratelycontrolled. About 7000 holes were drilled for each wing for attachmentof the skin, fuselage, boom, fairing, and access door(s). SOMaCeliminated acquisition of expensive tooling, which otherwise would havebeen necessary for this task. SOMaC produced high quality parts andeliminated costly rework commonly associated with manual drilling. Theprecision drilling enhances vehicle performance by producing consistent,precise countersinks and enables smaller edge margin tolerances toreduce the weight of the vehicle.

SOMaC preferably takes tracker measurements when the machine stops. Thedistinction between static and dynamic machine operations has not beenmade in the past, and has hindered deployment of end-point control using3D laser systems. Static machine operations (e.g. drilling, probing,boring, riveting, and countersinking) require that the machine becomestationary (stop) before performing the operation. For example, as adrilling machine prepares to drill a hole, it first pre-positions thedrill over the hole location. Then, when motion is substantiallystopped, the machine moves the drill along a single axis. Staticmachining operations include drilling (and its related operations), spotwelding, initial positioning of a cutter prior to beginning machining ona part, and the like. Dynamic machine operations move along multipleaxes in a continuous mode to drive a cutter through the workpiece alonga programmed path.

While we have described preferred embodiments, those skilled in the artwill readily recognize alterations, variations, and modifications whichmight be made without departing from the inventive concept. Therefore,interpret the claims liberally with the support of the full range ofequivalents known to those of ordinary skill based upon thisdescription. The examples illustrate the invention and are not intendedto limit it. Accordingly, define the invention with the claims and limitthe claims only as necessary in view of the pertinent prior art.

We claim:
 1. A method for improving the accuracy of a machine involvedwith the manufacture of a part or assembly in a factory, comprising thesteps of:(a) driving a machine tool having an end effector to a firstcommanded location based upon commands generated from a digital spatialdefinition of the part or assembly on which the machine tool works; (b)precisely measuring the position of the end effector when the machinetool stops at the first commanded location; (c) comparing the measuredposition with the first commanded location; (d) sending delta correctioncommands to the machine tool to adjust the position of the end effectorif the difference between the measured position and the first commandedlocation exceeds a predetermined threshold; and (e) scaling the commandsused to move the machine tool to the first commanded location to adjustits spatial location to account for thermal effects by altering thedigital spatial definition of the part or assembly with a scale factordetermined by actually measuring the actual dimensions of the part orassembly.
 2. The method of claim 1 wherein measuring the position of theend effector is done optically.
 3. The method of claim 1, furthercomprising the steps of(i) drilling a first hole in a workpiece with themachine tool after completing steps (a)-e of claim 1; (ii) repeatingsteps (a)-(e) of claim 1 to move the machine tool to a second commandedlocation; and (iii) drilling a second hole in the workpiece with themachine tool at the second commanded location.
 4. The method of claim 1wherein the delta correction commands are machine media statementsinterpretable by a machine controller that controls motion of the endeffector to provide position adjustment.
 5. The method of claim 1wherein measuring the position of the end effector includesinterrogating at least one retroreflector on the machine with anindependent measuring device.
 6. An accurately drilled workpieceobtainable by the method of claim
 3. 7. The method of claim 1 whereinthe dimensional adjustment of step (e) includes the steps of:(a)measuring the dimensions of the part as an initial reference; (b)remeasuring the dimensions of the part after completing steps (a) and(b) of claim 1 to obtain a scaled reference; (c) comparing the scaledreference with the initial reference to compute a scale factor basedupon a change in the dimensions of the part between the initialreference and the scaled reference; and (d) adjusting the digitalspatial representation or commanded location derived from the digitalspatial representation based upon the scale factor.
 8. The method ofclaim 7 wherein the scale factor is the ratio of the scaled reference tothe initial reference.
 9. A machine tool system having improvedpositioning accuracy, comprising:(a) a machine tool, including an endeffector, adapted for performing a machining operation of a part; (b) amachine controller coupled with the machine tool for commanding movementof the machine tool to a commanded position through position controlmedia derived from an engineering drawing or a digital dataset spatialrepresentation of the part; (c) at least one independent measurementsystem separated from the machine tool spatially and positioned formeasuring the true position of the end effector; (d) a computing systemfor comparing the measured position of the end effector from theindependent measurement system with the commanded position and forproviding adjustment signals to the machine controller in the form ofposition control media to offset the machine tool to correct adifference between the commanded position and the measured position; and(e) product definition adjustment means communicating with the machinecontroller for adjusting the commanded position derived from theengineering drawing or the digital dataset spatial representation of thepart for time varying thermal conditions that impact size or orientationof the part.
 10. A method for modifying the spatial specification ofmachine media representing a part configuration to compensate for atemperature difference between the design temperature and the actualtemperature of a manufacturing workcell, comprising the steps of:(a)creating a computer-readable dataset spatial representation of anintended configuration of a part at a reference temperature; (b)measuring dimensions of the part in the manufacturing workcell todetermine a true spatial representation of the part, the measuringinvolving sufficient locations to identify any change in size ororientation of the part attributable to factory conditions; and (c)adjusting the dataset spatial representation by a scale factordetermined by the ratio of the true spatial representation to thedataset spatial representation.
 11. The method of claim 10 wherein thescale factor is a first order correction that alters a dimension alongany one axis in a Cartesian coordinate system by a common scalar so thatthe scaling assumes that the part is isotropic.
 12. A method forimproving the accuracy of the manufacture of a part, comprising thesteps of:scaling the command position of a machine controlled to makethe part according to control media of machine position derived from adigital dataset spatial representation of the part with a thermal effectscale to adjust the control media, the scale being computed when theactual temperature of a workspace that contains the machine and the partdeviates from the theoretical design criteria by a predeterminedthreshold; measuring the true dimensions of the part using a lasertracking interferometer positioned remotely from the part; comparing thetrue dimensions of the part with design dimensions of the part recordedin the digital dataset spatial representation of the part to determine ascale factor of dimension; and altering the control media in accordancewith the scale factor.
 13. The method of claim 1 wherein the deltacorrection commands are trickle feed media statements to adjust theposition of the end effector.
 14. The method of claim 1 whereinmeasuring the position of the end effector is made using at least onelaser tracking interferometer positioned remotely from the machine. 15.The method of claim 1 wherein measuring dimensions of the part is madeusing at least one laser tracking interferometer within themanufacturing workcell yet positioned remotely from a machine and thepart.